﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ProtoGame.GameLib;
using ProtoGame.GameLib.Entities;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework;

namespace ProtoGame.DescritoresContent
{
    public static class PGIMGAtaqueEspada
    {
        private const ushort tileWidth = 37;
        private const ushort tileHeight = 41;

        public const byte StateAtaqueCima = 0;
        public const byte StateAtaqueDireita = 1;
        public const byte StateAtaqueBaixo = 2;
        public const byte StateAtaqueEsquerda = 3;

        public static Tileset CriarTileset(ContentManager content)
        {
            return new Tileset(content.Load<Texture2D>(@"Images\Sprites\AtaqueEspada"), tileWidth, tileHeight);
        }

        public static Animator CriarAnimator()
        {
            Animator koboldAnim = new Animator();
            koboldAnim.AddStaticAnimation(StateAtaqueCima, 0);
            koboldAnim.AddStaticAnimation(StateAtaqueDireita, 1);
            koboldAnim.AddStaticAnimation(StateAtaqueBaixo, 2);
            koboldAnim.AddStaticAnimation(StateAtaqueEsquerda, 3);

            return koboldAnim;
        }

        static Vector2 pixelSeguraArmaCima = new Vector2(18,36);
        static Vector2 pixelSeguraArmaDireita = new Vector2(3,23);
        static Vector2 pixelSeguraArmaBaixo = new Vector2(18, 4);
        static Vector2 pixelSeguraArmaEsquerda = new Vector2(33,23);

        public static Vector2 PosicaoPixelSeguraArma(byte state)
        {
            if (state == StateAtaqueCima) return pixelSeguraArmaCima;
            else if (state == StateAtaqueDireita) return pixelSeguraArmaDireita;
            else if (state == StateAtaqueBaixo) return pixelSeguraArmaBaixo;
            else return pixelSeguraArmaEsquerda;
        }
    }
}
